/*
 * @Description: 
 * @Author: kilomChou
 * @Date: 2021-05-13 00:33:04
 * @LastEditTime: 2021-05-13 21:56:41
 * @LastEditors: Please set LastEditors
 */

import World from "../world/World";
import Chunk from "../world/Chunk";

/** 实体基类 */
export default abstract class BaseEntity {

    constructor(
        /** 所在世界 */
        readonly world: World
    ) { }

    /** 唯一标识 */
    id: number
    /** 所覆盖的区块数组 */
    chunks: Chunk[];

    /** 事件派发器 */
    get ed() { return this.world.ed; }
    /** 计时器 */
    get timer() { return this.world.timer; }
    /** 所在区块 */
    get chunk() { return this.chunks[0]; }

    /** 当被添加到世界时触发 */
    onAdded() { }
    /** 当从世界中移除时触发 */
    onRemoved() { }
}